## SUL executor: SysExec
The SUL executor is a tool to simulate a model. It uses the SMLib library.
To learn a black box system, you can make your own -Mealy machine- model
in a DOT format file and use this tool to be used by the learner.
### From DOT file
The SysExec can run Mealy machines from DOT file. Unfortunately, the DOT
format in the current implementation is very weak support. To see what is the
format of DOT file, see some of example dot file in the project.
### From library
You can also write your model in a C# file and and make a library to feed the
SysExec. The class should implement a static factory method “CreateInstance”
which return an object that implements the interface SMLib.Automata.MM.IBlackBox MM.
For example, in Linux, you can make a library like this:

*dmcs model.cs -r:SMLib.dll -t:library*
### Usage
*SysExec [-help] [-p port] [-v] -m model*

### Note
In Linux, you require the root access to run this program.

#### Examples
To show the usage:

*SysExec –help*

The following command will execute the Mealy machine model in “model1.dot”
and listen to port 2000.

*SysExec -t MealyMachine -m model1.dot -p 2000*

This command doesn’t specify the port and so, the executor will use the port 1000 by default. It also execute the black box machine which is defined in the library “LearningApp.exe” and class “LearningApp.Examples.Counter”. 

*SysExec -t MealyMachine -l LearningApp.exe -c LearningApp.Examples.Counter*
